#include <iostream>
#include <vector>
using namespace std;

/*class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
    int i = -1;
    int ret = 0;
    int n = cost.size();
    while (i < n)
    {
        if (i < n && cost[i + 1] < cost[i + 2])
        {
            i = i + 1;
            ret += cost[i + 1];
        }
        else if (i < n && cost[i + 1] >= cost[i + 2])
        {
            i = i + 2;
            ret += cost[i + 2];
        }
    }
    return ret;
}
};
int main()
{
vector<int> v;
v.push_back(10);
v.push_back(15);
v.push_back(20);
Solution sl;
sl.*///minCostClimbingStairs(v);
//}

//class Solution {
//public:
//    vector<int> twoSum(vector<int>& nums, int target) {
//        unordered_map<int, int> hash;
//        for (int i = 0;i < nums.size();i++)
//        {
//            int x = target - nums[i];
//            if (hash.count(x)) return { hash[x],i };
//            hash[nums[i]] = i;
//        }
//        return { -1,-1 };
//    }
//};

//class Solution {
//public:
//    bool CheckPermutation(string s1, string s2) {
//        sort(s1.begin(), s1.end());
//        sort(s2.begin(), s2.end());
//        if (s1 == s2)
//        {
//            return true;;
//        }
//        return false;
//    }
//};
//class Solution {
//public:
//    bool CheckPermutation(string s1, string s2) {
//        if(s1.size() != s2.size())
//        {
//            return false;
//        }
//        int hash[27];
//        for(auto& i : s1)
//        {
//            hash[i-'a']++;
//        }
//        for(auto& i :s2)
//        {
//            if(hash[i-'a'] > 0)
//            {
//                hash[i-'a']--;
//            }
//            else
//            {
//                return false;
//            }
//        }
//        return true;
//    }
//};

//class Solution {
//public:
//    bool containsDuplicate(vector<int>& nums) {
//        map<int, bool> hash;
//        for (auto& i : nums)
//        {
//            if (hash.find(i) != hash.end())
//            {
//                return true;
//            }
//            hash[i] = true;
//        }
//        return false;
//    }
//};
//
//class Solution {
//public:
//    bool containsNearbyDuplicate(vector<int>& nums, int k) {
//        map<int, int> hash;
//        for (int i = 0;i < nums.size();++i)
//        {
//            if (hash.count(nums[i]))
//            {
//                if (abs(i - hash[nums[i]]) <= k) return true;
//            }
//            hash[nums[i]] = i;
//        }
//        return false;
//    }
//};